Add V3 manifest/manifest-list writing and row-lineage snapshot commits#3070
Add V3 manifest/manifest-list writing and row-lineage snapshot commits#3070SaymV wants to merge 2 commits intoapache:mainfrom
Conversation
|
Linking this PR to the long-running V3 writer tracker: #1551 ("Support writing V3 tables"). This change is the core manifest/manifest-list + metadata/snapshot writer path that unblocks practical V3 table writes (including geospatial-driven V3 usage), while still deferring broader full V3 parity work. |
|
This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that's incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions. |
|
This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time. |
Summary
ManifestWriterV3andManifestListWriterV3, including v3 manifest-listfirst_row_idassignmentfirst_row_idandadded_rowsfrom manifest-list row-id assignmentnext_row_id=0for new/upgraded v3 tablesImplementation notes
DEFAULT_READ_VERSIONin manifest handling is now3so v3 fields (includingManifestFile.first_row_id) are preserved when reading/re-writing manifests.first_row_id, and advance byexisting_rows_count + added_rows_count.Follow-up scope (tracked by #1551)
#1551.Validation
./.venv/bin/python -m pytest -q tests/table/test_metadata.py tests/table/test_init.py tests/utils/test_manifest.pyuv run python -m pytest -q tests/integration/test_reads.py -k upgrade_table_versionuv run python -m pytest -q tests/integration/test_writes/test_writes.py -k "test_nanosecond_support_on_catalog or test_v3_write_and_read_row_lineage"Related: #1551